﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Kaskelot.Services.Model;

namespace Stockholm.SOA.Kaskelot.WCF.ServiceImplementation.Mapping
{
    public static class FaltAlternativExtensions
    {
        public static DataContracts.FaltAlternativ ToContract(this FaltAlternativ entity)
        {
            DataContracts.FaltAlternativ fa = new DataContracts.FaltAlternativ();

            CopyFromEntity(entity, fa, false);

            return fa;
        }

        public static DataContracts.FaltAlternativ ToMinimalContract(this FaltAlternativ entity)
        {
            DataContracts.FaltAlternativ fa = new DataContracts.FaltAlternativ();

            CopyFromEntity(entity, fa, true);

            return fa;
        }

        public static FaltAlternativ ToEntity(this DataContracts.FaltAlternativ fa)
        {
            FaltAlternativ entity = new FaltAlternativ();

            CopyToEntity(fa, entity);

            return entity;
        }

        public static void UpdateEntity(this FaltAlternativ entity, DataContracts.FaltAlternativ faltAlternativ)
        {
            CopyToEntity(faltAlternativ, entity);
        }

        private static void CopyFromEntity(FaltAlternativ from, DataContracts.FaltAlternativ to, bool minimal)
        {
            to.Id = from.Id;
            to.ValId = from.ValId;
            to.FaltId = from.FaltId;
            to.Namn = from.Namn;

            return;
        }

        private static void CopyToEntity(DataContracts.FaltAlternativ from, FaltAlternativ to)
        {
            to.Id = from.Id;
            to.ValId = from.ValId;
            to.FaltId = from.FaltId;
            to.Namn = from.Namn;
        }
    }
}
